$(function(){
	// 初始化面板，注入下拉框数据
	initPanel();
	// 初始化表单验证
//	validateForm();
	// 为提交按钮和重置按钮绑定时间
	bindBtnListener();
});

// 第一次打开用户管理页面的时候，初始化下拉框数据
function initPanel() {
	// 将下拉框委托给jqueryui
	//$('select').combobox();
	
	// 为添加按钮绑定监听
	//$( "#searchUserBtn" ).click(searchUserByCond);
	
}

// 表单验证
function validateForm() {
	// 用户名验证       
	jQuery.validator.addMethod("stringCheck", function(value, element) {
		var verify=/^[^`~!@#$%^&*()_+=\|\\\][\]\{\}:;"'\,.<>?]*/;
	    return this.optional(element) || verify.test(value);       
	}, "只能包括数字、文字、不能包括特殊字符");
	
	// 密码验证       
	jQuery.validator.addMethod("pwdCheck", function(value, element) {
		var verify=/[`~!@#$%^&*()_+=\|\\\][\]\{\}:;"'\,.<>?]+/;
	    return this.optional(element) || (verify.test(value) && /\d+/.test(value));       
	}, "必须包括数字和括特殊字符");
	
	// 文字两个字节       
	jQuery.validator.addMethod("byteRangeLength", function(value, element, param) {       
	    var length = value.length;       
	    for(var i = 0; i < value.length; i++){       
	        if(value.charCodeAt(i) > 127){       
	        	length++;       
	        }       
	    }       
	    return this.optional(element) || ( length >= param[0] && length <= param[1] );       
	}, "请确保输入的值在6-30个字节之间(除数字和英文字母外的文字算2个字节)");
	
	// 电话号码验证       
	jQuery.validator.addMethod("phoneCheck", function(value, element) {
		var exp = /^[-,();0-9]*$/;
	    return this.optional(element) || exp.test(value);       
	}, "电话号码只能包含-,();和数字");
	
	// 有效期验证       
	jQuery.validator.addMethod("validCheck", function(value, element) {
		var validDay = parseInt(value);
	    return this.optional(element) || validDay > 0;
	}, "有效期必须为大于0的正整数");
	
	//开始验证   
	$("#addUserForm").validate({
		/* 元素获得焦点后，清除错误信息 */
		focusCleanup:true,
		/* 设置验证规则 */
		rules: {
			username: {
				required: true,   
				stringCheck:true,
				byteRangeLength:[6,30],
				remote: {
					url: contextPath+'/user/verifyUsername.action',
					type: "post",               //数据发送方式
					dataType: "json",           //接受数据格式 
					data: { username: function() { return $("#usernameTxt").val();}}	
				}
			},
			pwd: {
				required: true,   
				pwdCheck:true,
				byteRangeLength:[6,30]
			},
			repeat: {
				equalTo: "input[name=pwd]"
			},
			phone: {
				maxlength: 20,
				phoneCheck: true
			},
			email: {
				maxlength: 60,
				email: true
			},
			realname: {
				maxlength: 30
			},
			valid: {
				number: true,
				validCheck: true
			}
		},

		/* 设置错误信息 */
		messages: {
			username: {
				required: "请填写用户名",   
				stringCheck: "用户名只能包括数字、文字、不能包括特殊字符",
				byteRangeLength: "用户名必须在6-30个字符之间(一个中文字算2个字符)",
				remote: "用户已存在，请重新输入"
			},
			pwd: {
				required: "请填写密码",   
				pwdCheck: "密码必须包括数字和括特殊字符",
				byteRangeLength: "密码必须在6-30个字符之间(一个中文字算2个字符)"
			},
			repeat: { 
				equalTo: "两次输入密码不匹配"
			},
			phone: {
				maxlength: "联系电话不能超过20个字符"
			},
			email: {
				maxlength: "邮箱地址不能超过60个字符",
				email: "请输入合法的邮箱地址"
			},
			realname: {
				maxlength: "真实姓名不能超过30个字符"
			},
			valid: {
				number: "有效期必须为合法的数字"
			}
		},   
     
		/* 设置验证触发事件 */  
		focusInvalid: false,   
		onkeyup: false,
		
		/* 设置错误信息提示DOM */  
		errorPlacement: function(error, element) {
			$("#error").html(error);  
		}
	});
	
}

// 向服务器提交数据，添加新用户
function bindBtnListener() {
	// 创建新用户按钮
	$("#addUserForm").validate({
		submitHandler: function(form) {
		debugger;
		$.post(contextPath+"/resource/addNewDiary.control",
				{
			'username': function() { return $("#usernameTxt").val();/* 用户名 */},
			'realname': function() { return $("#realnameTxt").val();/*用户真实姓名*/},
			'content': function() { return $("#contentTxt").val();/*日记内容*/},
			'language': function() { return $("#languageBox").val();/*语言*/}
				},
				function (returnValue) {
					 if (returnValue) {
						 alert("添加日志成功!");
					 } else {
						 addNewUserError;
					 }
				}			
				
				)
//		$.ajax({ 
//			type: "get", 
//			url : contextPath+'/resource/addNewDiary.control', 
//			dataType:'json',
//			data: {
//				'username': function() { return $("#usernameTxt").val();/* 用户名 */},
//				'realname': function() { return $("#realnameTxt").val();/*用户真实姓名*/},
//				'content': function() { return $("#contentTxt").val();/*日记内容*/},
//				'language': function() { return $("#languageBox").val();/*语言*/}
//			},
//			success: addNewUserSucc,
//			error:addNewUserError
//		});
		}
	});
}

function addNewUserSucc(json) {
	alert("添加日志成功");
}

function addNewUserError() {
	alert("添加日志失败");
}